Verifying finite-state properties of large-scale programs

نویسنده

  • Eric Bodden
چکیده

Designers of software components can use finite-state properties to denote behavioral interface specifications which enforce client-side programming rules that state how the components ought to be used. This allows users of these components to check their client code for compliance with these rules, both statically and at runtime. In this dissertation we explain the design and implementation of Clara, a framework for specifying and verifying finite-state properties of large-scale programs. With Clara, programmers specify finite-state properties together with runtime monitors, using a syntactic extension to the aspect-oriented programming language AspectJ. Clara then uses a sequence of three increasingly detailed static analyses to determine if the program satisfies the finite-state properties, i.e., is free of property violations. Clara produces a list of program points at which the program may violate the properties, ranked by a confidence value. If violations are possible, Clara also instruments the program with the supplied runtime monitor, which will capture property violations when the program executes. Due to its static analyses, Clara can omit the instrumentation at program locations which the analyses proved safe, and so optimize the instrumented program. When much instrumentation remains, Clara partitions the instrumentation into subsets, so that one can distribute multiple partially instrumented program versions that each run with a low overhead. We validated the approach by applying Clara to finite-state properties denoted in multiple formalisms over several large-scale Java programs. Clara proved that most of the programs fulfill our example properties. For most other programs, Clara could remove the monitoring overhead to below 10%. We also found multiple property violations by manually inspecting the top entries in Clara’s ranked result list.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Shallow Finite State Verification

We consider the problem of verifying finite state properties of shallow programs; i.e., programs where pointers from program variables to heap-allocated objects are allowed, but where heap-allocated objects may not themselves contain pointers. We prove a number of results relating the complexity of such verification problems to the nature of the finite state machine used to specify the property...

متن کامل

Improving large-sized PLC programs

This paper proposes a formal representation of logic controllers programs that is aiming at improving scalability of model-checking techniques, when verifying controllers extrinsic properties. This representation includes only the states which are meaningful for properties proof and minimizes the number of variables that feature each state. Comparison with previously proposed representations, o...

متن کامل

Transformational Verification of Linear Temporal Logic

We present a new method for verifying Linear Temporal Logic (LTL) properties of finite state reactive systems based on logic programming and program transformation. We encode a finite state system and an LTL property which we want to verify as a logic program on infinite lists. Then we apply a verification method consisting of two steps. In the first step we transform the logic program that enc...

متن کامل

Verification of Liveness Properties in Transactional Memories

Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Saf...

متن کامل

Registerwait Faultservice Ready Idle ? Req ! Alarm ! Done ? Ack ? Alarm ! Ack ? Done ! Req

Brand and Zaaropulo BZ83] introduced the model of communicating nite-state machines to represent a distributed system connected with FIFO channels. Several diierent communication protocols can be speciied with this simple model. In this paper we address the problem of automatically validating protocols by verifying properties such as well-formedness and absence of deadlock. Our method is based ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009